<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="../../resources/templates/login.xhtml"
                xmlns:p="http://primefaces.org/ui"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:sec="http://www.springframework.org/security/facelets/tags" >

    <ui:define name="menu_horizontal">
        <sec:ifAnyGranted roles="ROLE_SERVIDOR,ROLE_ADMINISTRADOR">
            <ui:include src="/site/acessoServidor/menu.xhtml" />
        </sec:ifAnyGranted>
    </ui:define>
    
    <ui:define name="corpo">
        <sec:ifAnyGranted roles="ROLE_SERVIDOR,ROLE_ADMINISTRADOR">
            
                <h:form id="formSalvar">
                <p:growl id="growl" showDetail="true" sticky="true" /> 
                <p:panel   header="Cadastro de Periodo Letivo" > 
                    <p:messages id="msgs"/> 
                    <h:panelGrid columns="2" >
                        
                    Ano:* <p:inputText value="#{controllerPeriodoLetivo.periodo.ano}" required="true" requiredMessage="Campo Ano é Obrigatório."   style="width: 170px"/>
                    
                    Semestre:* <p:selectOneMenu value="#{controllerPeriodoLetivo.periodo.semestre}" style="width:200px;" required="true"  requiredMessage="Campo Semestre é obrigatório."   >
                        <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true" />
                        <f:selectItem itemLabel="1" itemValue="1" />
                        <f:selectItem itemLabel="2" itemValue="2" />
                                               
                    </p:selectOneMenu> 
                    
                    Data Inicio:* <p:calendar value="#{controllerPeriodoLetivo.periodo.data_inicio}" required="true" requiredMessage="Campo Data Inicio é obrigatório."   style="width: 200px"/>
                    Data Fim:* <p:calendar value="#{controllerPeriodoLetivo.periodo.data_fim}" required="true" requiredMessage="Campo Data de Fim é obrigatório."   style="width: 200px"/>
                    
                    <p:commandButton value="Salvar" update="@form" actionListener="#{controllerPeriodoLetivo.salvar()}"/>
                         
                             
                                    
                    
                    </h:panelGrid>
                </p:panel>


                <p:dataTable id="tabela" var="p" value="#{controllerPeriodoLetivo.listaDM}" emptyMessage="Nada encontrado..."
                             paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
                     rowsPerPageTemplate="5,10,15"   >
                    <p:column headerText="Ano">
                        <h:outputText value="#{p.ano}"/>
                    </p:column>
                    <p:column headerText="Semestre">
                        <h:outputText value="#{p.semestre}"/>
                    </p:column>
                    <p:column headerText="Data Inicio">
                        <h:outputText value="#{p.data_inicio}">
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                        </h:outputText>
                    </p:column>
                    <p:column headerText="Data Fim">
                        <h:outputText value="#{p.data_fim}">
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                        </h:outputText>
                      
                    </p:column>
                    
                    <p:column>
                        
                        <p:commandLink  actionListener="#{controllerPeriodoLetivo.prepararAlterar()}"  process="@this" oncomplete="dialogVizualizar.show();" update=":formVizualizar">
                        <p:graphicImage  value="/resources/images/lupa.png" />
                       </p:commandLink>                        
                        
                        <p:commandLink  actionListener="#{controllerPeriodoLetivo.prepararAlterar()}" ajax="true" process="@this" oncomplete="dialogAlterar.show();" update=":formAlterar">
                        <p:graphicImage  value="/resources/images/edit.png" />
                        </p:commandLink>
                      
                        <p:commandLink  actionListener="#{controllerPeriodoLetivo.remover()}" ajax="true" process="@this" update="@form">
                        <p:graphicImage  value="/resources/images/delete.png" />                      
                        </p:commandLink>
                        
                     </p:column>     
                    
                </p:dataTable>
                
                 

            </h:form>
            
              <p:dialog widgetVar="dialogAlterar" resizable="false" closable="false" modal="true" showEffect="slide" hideEffect="slide">
                <h:form id="formAlterar">
                    <p:panel style="width: 320px;">
                        <p:messages id="msgs"/> 
                        <h:panelGrid columns="2">
                                
                            Ano: <p:inputText value="#{controllerPeriodoLetivo.periodo.ano}"  style="width: 170px"/>
                            Semestre: <p:selectOneMenu value="#{controllerPeriodoLetivo.periodo.semestre}"  style="width:200px;"   >
                                <f:selectItem itemLabel="1" itemValue="1" />
                                <f:selectItem itemLabel="2" itemValue="2" />

                            </p:selectOneMenu> 
                            Data Inicio: <p:calendar value="#{controllerPeriodoLetivo.periodo.data_inicio}"  style="width: 200px"/>
                            Data Fim : <p:calendar value="#{controllerPeriodoLetivo.periodo.data_fim}"  style="width: 200px"/>
                            
                            
                            <p:commandButton value="Alterar" actionListener="#{controllerPeriodoLetivo.alterar()}" oncomplete="dialogAlterar.hide()" update=":formSalvar" 
                                                style="margin-top: 30px"/>
                                <p:commandButton value="cancelar" actionListener="#{controllerPeriodoLetivo.limpar()}" oncomplete="dialogAlterar.hide()" update=":formSalvar" 
                                                style="margin-top: 30px;margin-left: 0px;"/>
                        </h:panelGrid>
                    </p:panel>
                </h:form>
            </p:dialog>
            
         <p:dialog widgetVar="dialogVizualizar" resizable="false" closable="false" modal="true" showEffect="slide" hideEffect="slide">
                <h:form id="formVizualizar">
                    <p:panel style="width: 320px;">
                        <p:messages id="msgs"/> 
                        <h:panelGrid columns="2">
                            
                       Cod: <h:outputText value="#{controllerPeriodoLetivo.periodo.id}" />         
                       Ano: <h:outputText value="#{controllerPeriodoLetivo.periodo.ano}" />
                       Semestre: <h:outputText value="#{controllerPeriodoLetivo.periodo.semestre}"/>
                       
                       Data Inicio: <h:outputText value="#{controllerPeriodoLetivo.periodo.data_inicio}" > 
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                       </h:outputText>
                        Data Fim : <h:outputText value="#{controllerPeriodoLetivo.periodo.data_fim}" > 
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                       </h:outputText>
 
                        <p:commandButton value="cancelar" actionListener="#{controllerAtvComp.limpar()}" oncomplete="dialogVizualizar.hide()" update=":formSalvar" 
                                                style="margin-top: 30px;margin-left: 0px;"/>
                        </h:panelGrid>
                    </p:panel>
                </h:form>
            </p:dialog>
            
           
        </sec:ifAnyGranted>
    </ui:define>
    
</ui:composition>
